package br.edu.ufersa.scrumgame.mbean;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.edu.ufersa.scrumgame.facade.AtividadeFacade;
import br.edu.ufersa.scrumgame.facade.SprintBacklogFacade;
import br.edu.ufersa.scrumgame.modelo.Atividade;
import br.edu.ufersa.scrumgame.modelo.SprintBacklog;

@ManagedBean
@SessionScoped
public class AtividadeMBean {

	@EJB
	private AtividadeFacade atividadeFacade;
	
	@EJB
	private SprintBacklogFacade sprintBacklogFacade;
	
	private Atividade atividade = new Atividade();
	
	private List<Atividade> itens;
	
	private List<Atividade> itensFiltro;
	
	private SprintBacklog sprintBacklog = new SprintBacklog();
	
	private String acao;
	
	public List<Atividade> getItensFiltro() {
		return itensFiltro;
	}

	public void setItensFiltro(List<Atividade> itensFiltro) {
		this.itensFiltro = itensFiltro;
	}

	public Atividade getAtividade() {
		if( atividade == null ) {
			atividade = new Atividade();
		}
		return atividade;
	}

	public void setAtividade(Atividade atividade) {
		this.atividade = atividade;
	}
	
	public List<Atividade> getItens() {
		
		int id_sprintBacklog = 0;
		
		if(sprintBacklog != null) {
			id_sprintBacklog = sprintBacklog.getId();
		}
		itens = atividadeFacade.findBySprint(id_sprintBacklog);
		return itens;
	}

	public List<SprintBacklog> getItensSprint() {
		return sprintBacklogFacade.findAll();
	}

	public SprintBacklog getSprintBacklog() {
		return sprintBacklog;
	}

	public void setSprintBacklog(SprintBacklog sprintBacklog) {
		this.sprintBacklog = sprintBacklog;
	}

	public String getAcao() {
		return acao;
	}

	public void novo() {
		acao = "novo";
		atividade = new Atividade();
	}
	
	public void salvar() {
		if(acao == "novo") {
			atividade.setId(0);
			atividade.setSprintBacklog(sprintBacklog);
			atividadeFacade.save(atividade);
		} if(acao == "editar") {
			atividadeFacade.update(atividade);
		}
	}
	
	public void editar() {
		acao = "editar";
	}
	
	public void deletar() {
		atividadeFacade.delete(atividade);
	}

}
